// // 1.引入mysql模块
// var mysql = require("mysql")

// //2.创建连接对象
// var conn = mysql.createConnection({
//     //连接数据库信息
//     host: "127.0.0.1",
//     user: "root",
//     password:"root",
//     database: "baixiu"
// })

// // 3.连接数据库
// conn.connect()

//1.引入模块(封装)
var conn = require("./baseDb.js")

// 4.调用方法操作数据库方法
module.exports = {
    // 获取数据库所有用户数据
    getAllUsers(callback){
        // 输入sql查询语句,调用数据库query()方法执行sql语句
        var sql = "select * from users";
        conn.query(sql,(err,result)=>{
            if(err) return callback(err)
            callback(null,result)
        })
    },
    //添加用户数据的方法
    userAdd(user,callback){
        //输入sql语句添加用户数据到数据库中
        var sql = "insert into users set ?"
        conn.query(sql,user,(err,result)=>{
            if(err) return callback(err)
            // console.log("读取到数据库")
            callback(null,true)
        })
    },
    userDel(id,callback){ // 删除用户数据
        //输入sql语句删除数据库中对应id的数据
        var sql = "delete from users where id = ?"
        conn.query(sql,id,(err,result)=>{
            if(err) return callback(err)
            callback(null,true)
        })
    },
    showUserInfoById(id,callback){ // 通过id查询用户
        //输入sql语句查询对应的id数据
        var sql = "select * from users where id =?"
        conn.query(sql,id,(err,result)=>{
            if(err) return callback(err)
            callback(null,result); // 把查询的数据返回前端
        })
    },
    updateUserInfoById(user,callback){ // 更新数据
        //输入sql语句修改用户的信息
        var sql = "update users set ? where id = ?"
        conn.query(sql,[user,user.id],(err,result)=>{
            if(err) return callback(err)
            callback(null,true); // 返回修改状态
        })
    },
    delMoreUsersByIds(ids,callback){ // 批量删除用户数据
        //输入sql语句删除数据
        // console.log(ids)
        var sql = "delete from users where id in (?)"
        conn.query(sql,[ids],(err,result)=>{
            if(err) return callback(err)
            callback(null,true)
        })
    },
    userloginByEmailAndPassword(user,callback){ //登录校验数据
        //输入sql语句,查询校验登录的邮箱和密码
        var sql = "select * from users where email=? and password=?"
        var {email,password} = user // 解构赋值
        // console.log(email,password)
        conn.query(sql, [email, password],(err,result)=>{
            if(err) return callback(err)
            // console.log(result); // 读取的是一个数组
            callback(null,result[0])
        })
    },
    getProfileInfoById(id,callback){ //获取个人中心用户数据
        //设置sql语句根据id查询对应的用户数据
        var sql = "select * from users where id = ?"
        conn.query(sql,[id],(err,result)=>{
            if(err) return callback(err)
            callback(null,result[0])
        })
    },
    updateProfileInfoById(profileInfo,callback){
        var { id } = profileInfo;
        var sql = "update users set ? where id = ?"
        conn.query(sql, [profileInfo,id],(err,isOK)=>{
            if(err) return callback(err)
            callback(null,true)
        })
    }
}